package com.zhoug.ocr.textin.data.bill;

import com.zhoug.common.beans.BaseBean;

/**
 * 国内通用票据
 *
 * @Author: zhoug
 * @Date: 2023/3/13
 * @Description:
 */
public class BaseBill extends BaseBean {
    public static final String TYPE_TAXI_TICKET = "taxi_ticket";//出租车票
    public static final String TYPE_QUOTA_INVOICE = "quota_invoice";//定额发票
    public static final String TYPE_TRAIN_TICKET = "train_ticket";//火车票
    public static final String TYPE_VAT_ELECTRONIC_INVOICE = "vat_electronic_invoice";//增值税电子普通发票
    public static final String TYPE_VAT_COMMON_INVOICE = "vat_common_invoice";//增值税普通发票
    public static final String TYPE_VAT_SPECIAL_INVOICE = "vat_special_invoice";//增值税专用发票
    public static final String TYPE_VAT_ELECTRONIC_SPECIAL_INVOICE = "vat_electronic_special_invoice";//增值税电子专用发票
    public static final String TYPE_BLOCKCHAIN_ELECTRONIC_INVOICE = "blockchain_electronic_invoice";//区块链电子发票
    private String kind;//类型 :traffic
    private String kindDescription;//:交通
    private String cls;//other_invoice
    private String type;//发票类型:train_ticket
    private String typeDescription;//发票类型:火车票


    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public String getKindDescription() {
        return kindDescription;
    }

    public void setKindDescription(String kindDescription) {
        this.kindDescription = kindDescription;
    }

    public String getCls() {
        return cls;
    }

    public void setCls(String cls) {
        this.cls = cls;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTypeDescription() {
        return typeDescription;
    }

    public void setTypeDescription(String typeDescription) {
        this.typeDescription = typeDescription;
    }

    public boolean isInvoice(){
        return isInvoice(type);
    }

    public static boolean isInvoice(String type) {
        return TYPE_VAT_ELECTRONIC_INVOICE.equalsIgnoreCase(type) ||
                TYPE_VAT_COMMON_INVOICE.equalsIgnoreCase(type) ||
                TYPE_VAT_SPECIAL_INVOICE.equalsIgnoreCase(type) ||
                TYPE_VAT_ELECTRONIC_SPECIAL_INVOICE.equalsIgnoreCase(type) ||
                TYPE_BLOCKCHAIN_ELECTRONIC_INVOICE.equalsIgnoreCase(type);
    }


}
